﻿<!DOCTYPE HTML>
<!-- saved from url=(0080)http://172.13.19.31:6060/note_html/工具/JMeter测试工具/1002010-测试计划元件.html -->
<!DOCTYPE html PUBLIC "" ""><HTML><HEAD><META content="IE=11.0000" 
http-equiv="X-UA-Compatible">
 
<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<TITLE>测试计划元件</TITLE> <LINK href="测试计划元件_files/standalone.css" rel="stylesheet"> 
<LINK href="测试计划元件_files/overlay-apple.css" rel="stylesheet"> <LINK href="测试计划元件_files/article_edit.css" 
rel="stylesheet"> 
<STYLE type="text/css">
	#content{
		margin: 5px 10px;
	}
</STYLE>
	 <!-- 代码高亮 -->	 <LINK href="测试计划元件_files/shCoreEclipse.css" rel="stylesheet">
	 <LINK href="测试计划元件_files/my-highlighter.css" rel="stylesheet"> 
<META name="GENERATOR" content="MSHTML 11.00.10586.545"></HEAD> 
<BODY>
<DIV id="content">
<H1 align="center">测试计划元件</H1>
<P align="right" 
style="margin: 0px 10px 0px 0px; padding: 0px;">最后修改时间：2015-09-22 15:10:47</P>
<HR style="border-width: 2px; border-color: lime;">

<H3>Test Plan (测试计划)</H3>
<P 
style="text-indent: 0.8cm;">用来描述一个性能测试，包含与本次性能测试所有相关的功能。也就说本的性能测试的所有内容是于基于一个计划的。
 右键单击“测试计划”弹出菜单： </P>
<DIV>
<DIV align="left"><IMG alt="图片不存在" src="测试计划元件_files/20150922-01.jpg"></DIV>
<DIV align="left" 
style="padding: 5px 0px;"><FONT>注意：“函数测试模式”复选框，如果被选择，它会使Jmeter记录来自服务器返回的每个取样的数据。如果你在测试监听器中选择一个文件，这个数据将被写入文件。如果你尝试一个较小的测试来保证Jmeter配置正确并且你的服务器正在返回期望的结果，这是很有用的。这样做的后果就是这个文件会快速的增大，并且Jmeter的效率会影响。如果不记录数据到文件，这个选项就没有不同了。</FONT></DIV></DIV>
<H3>Threads （Users）线程 用户</H3>
<H4>添加线程组</H4>
<DIV>
<DIV align="left"><IMG alt="图片不存在" src="测试计划元件_files/20150922-02.jpg"></DIV>
<DIV align="left" style="padding: 5px 0px;"><FONT>虽然有三个添加线程组的选项，名字不一样， 
创建之后，其界面是完全一样的(见下图)。之前的版本只有一个线程组的名字。现在多一个setUp theread Group 与terDown Thread 
Group</FONT></DIV></DIV>
<UL>
  <LI>setup thread 
  group：一种特殊类型的ThreadGroup的，可用于执行预测试操作。这些线程的行为完全像一个正常的线程组元件。不同的是，这些类型的线程执行测试前进行定期线程组的执行。setUp 
  Thread Group类似于lr的init.可用于执行预测试操作。</LI>
  <LI>teardown thread 
  group：一种特殊类型的ThreadGroup的，可用于执行测试后动作。这些线程的行为完全像一个正常的线程组元件。不同的是，这些类型的线程执行测试结束后执行定期的线程组。tearDown 
  Thread Group类似于lr的end.可用于执行测试后动作。</LI>
  <LI>thread group(线程组)： 
  这个就是我们通常添加运行的线程。通俗的讲一个线程组,，可以看做一个虚拟用户组，线程组中的每个线程都可以理解为一个虚拟用户。线程组中包含的线程数量在测试执行过程中是不会发生改变的。</LI></UL>
<H4>创建界面</H4>
<DIV>
<DIV align="left"><IMG alt="图片不存在" src="测试计划元件_files/20150922-03.jpg"></DIV>
<DIV align="left" 
style="padding: 5px 0px;"><FONT>名称：就如字面意思，起个有意义的名字就行</FONT></DIV>
<DIV align="left" style="padding: 5px 0px;"><FONT>注释：这个不用解释了吧</FONT></DIV>
<DIV align="left" style="padding: 5px 0px;"><FONT>线程数：这里选择5</FONT></DIV>
<DIV align="left" style="padding: 5px 0px;"><FONT>Ramp-Up 
Period：单位是秒，默认时间是1秒。它指定了启动所有线程所花费的时间，比如，当前的设定表示“在5秒内启动5个线程，每个线程的间隔时间为1秒”。如果你需要Jmeter立即启动所有线程，将此设定为0即可</FONT></DIV>
<DIV align="left" 
style="padding: 5px 0px;"><FONT>循环次数：表示每个线程执行多少次请求</FONT></DIV></DIV>
<H3>测试片段（Test Fragment）</H3>
<P style="text-indent: 0.8cm;">
测试片段元素是控制器上的一个种特殊的线程组，它在测试树上与线程组处于一个层级。它与线程组有所不同，因为它不被执行，除非它是一个模块控制器或者是被控制器所引用时才会被执行。 
</P>
<DIV>
<DIV align="left"><IMG alt="图片不存在" 
src="测试计划元件_files/20150922-04.jpg"></DIV></DIV>
<H3>控制器</H3>
<P style="text-indent: 0.8cm;">JMeter有两种类型的控制器：取样器（sample）和逻辑控制器（Logic 
Controller），用这些原件来驱动处理一个测试 </P>
<H4>取样器（sample）</H4>
<P style="text-indent: 0.8cm;">
取样器（Sampler）是性能测试中向服务器发送请求，记录响应信息，记录响应时间的最小单元，JMeter 原生支持多种不同的sampler ， 如 HTTP 
Request Sampler 、 FTP  Request Sampler 、TCP  Request Sampler 、 JDBC Request 
Sampler 等，每一种不同类型的 sampler 可以根据设置的参数向服务器发出不同类型的请求。注意：取样器是在线程组上点击右键才会出现。 </P>
<DIV>
<DIV align="left" style="padding: 5px 0px;"><FONT>在Jmeter的所有Sampler中，Java 
Request Sampler与BeanShell Requst Sampler是两种特殊的可定制的Sampler.</FONT></DIV>
<DIV align="left"><IMG alt="图片不存在" 
src="测试计划元件_files/20150922-05.jpg"></DIV></DIV>
<H4>逻辑控制器（Logic Controller）</H4>
<DIV>
<DIV align="left" style="padding: 5px 0px;"><FONT>逻辑控制器，包括两类无件，一类是用于控制test plan 
中 sampler 节点发送请求的逻辑顺序的控制器，常用的有 如果（If）控制器 、 switch Controller 、Runtime 
Controller、循环控制器等。另一类是用来组织可控制 sampler 来节点的， 如 事务控制器、吞吐量控制器。</FONT></DIV>
<DIV align="left"><IMG alt="图片不存在" 
src="测试计划元件_files/20150922-06.jpg"></DIV></DIV>
<H3>配置元件（Config Element）</H3>
<DIV>
<DIV align="left" style="padding: 5px 0px;"><FONT>配置元件（config 
element）用于提供对静态数据配置的支持。CSV Data Set config 可以将本地数据文件形成数据池 （Data Pool），而对应于HTTP 
Request Sampler和 TCP Request Sampler等类型的配制无件则可以修改 Sampler的默认数据。</FONT></DIV>
<DIV align="left" style="padding: 5px 0px;"><FONT>例如，HTTP Cookie Manager 可以用于对 
HTTP Request Sampler 的 cookie 进行管理。</FONT></DIV>
<DIV align="left" style="padding: 5px 0px;"><FONT>HTTP 
请求默认值不会触发Jmeter发送http请求，而只是定义HTTP请求的默认属性</FONT></DIV>
<DIV align="left"><IMG alt="图片不存在" 
src="测试计划元件_files/20150922-07.jpg"></DIV></DIV>
<H3>定时器（Timer）</H3>
<DIV>
<DIV align="left" 
style="padding: 5px 0px;"><FONT>定时器（Timer）用于操作之间设置等待时间，等待时间是性能测试中常用的控制客户端QPS的手段。类似于LoadRunner里面的“思考时间”。 
JMeter 定义了Bean Shell Timer、Constant Throughput 
Timer、固定定时器等不同类型的Timer。</FONT></DIV>
<DIV align="left"><IMG alt="图片不存在" 
src="测试计划元件_files/20150922-08.jpg"></DIV></DIV>
<H3>前置处理器（Per Processors）</H3>
<DIV>
<DIV align="left" 
style="padding: 5px 0px;"><FONT>前置处理器用于在实际的请求发出之前对即将发出的请求进行特殊处理。例如，HTTP 
URL重写修复符则可以实现URL重写，当RUL中有sessionID 一类的session信息时，可以通过该处理器填充发出请求的实际的sessionID 
。</FONT></DIV>
<DIV align="left"><IMG alt="图片不存在" 
src="测试计划元件_files/20150922-09.jpg"></DIV></DIV>
<H3>后置处理器（Post Processors）</H3>
<DIV>
<DIV align="left" style="padding: 5px 0px;"><FONT>后置处理器是用于对Sampler 
发出请求后得到的服务器响应进行处理。一般用来提取响应中的特定数据（类似LoadRunner测试工具中的关联概念）。例如，XPath  Extractor 
则可以用于提取响应数据中通过给定XPath 值获得的数据;正则表达式提取器，则可以提取响应数据中通过正则表达式获得的数据。</FONT></DIV>
<DIV align="left"><IMG alt="图片不存在" 
src="测试计划元件_files/20150922-10.jpg"></DIV></DIV>
<H3>断言（Assertions）</H3>
<DIV>
<DIV align="left" 
style="padding: 5px 0px;"><FONT>断言用于检查测试中得到的相应数据等是否符合预期，断言一般用来设置检查点，用以保证性能测试过程中的数据交互是否与预期一致。</FONT></DIV>
<DIV align="left"><IMG alt="图片不存在" 
src="测试计划元件_files/20150922-11.jpg"></DIV></DIV>
<H3>监听器（Listener）</H3>
<DIV>
<DIV align="left" 
style="padding: 5px 0px;"><FONT>这个监听器可不是用来监听系统资源的元件。它是用来对测试结果数据进行处理和可视化展示的一系列元件。 
图形结果、查看结果树、聚合报告、用表格察看结果都是我们经常用到的元件</FONT></DIV>
<DIV align="left"><IMG alt="图片不存在" 
src="测试计划元件_files/20150922-12.jpg"></DIV></DIV>
<H3>工作台</H3>
<DIV>
<DIV align="left"><IMG alt="图片不存在" src="测试计划元件_files/20150922-13.jpg"></DIV>
<DIV align="left" 
style="padding: 5px 0px;"><FONT>在测试中我们可能需要暂时更改一些组件，可以把一些需要更改的组件保存在工作台中，测试完成后再恢复，但是切记：不能退出jmeter.一旦退出jmeter，工作台中的内容就会消失。</FONT></DIV>
<DIV align="left"><IMG alt="图片不存在" src="测试计划元件_files/20150922-14.jpg"></DIV>
<DIV align="left" style="padding: 5px 0px;"><FONT>工作台－非测试元件－Property 
Display，此元件相当于是jmeter.properties的GUI。</FONT></DIV></DIV>
<HR style="border-width: 2px; border-color: lime;">

<DIV align="center">©copyright 版权所有   作者：zzy</DIV>
<SCRIPT src="../../pub/syntaxhighlighter/scripts/shCore.js" type="text/javascript"></SCRIPT>
 
<SCRIPT src="../../pub/syntaxhighlighter/scripts/shBrushJava.js" type="text/javascript"></SCRIPT>
	
<SCRIPT src="../../pub/syntaxhighlighter/scripts/shBrushJScript.js" type="text/javascript"></SCRIPT>
 
<SCRIPT src="../../pub/syntaxhighlighter/scripts/shBrushXml.js" type="text/javascript"></SCRIPT>
 
<SCRIPT src="../../pub/syntaxhighlighter/scripts/shBrushSql.js" type="text/javascript"></SCRIPT>
 
<SCRIPT src="../../pub/syntaxhighlighter/scripts/shBrushBash.js" type="text/javascript"></SCRIPT>
	
<SCRIPT src="../../pub/syntaxhighlighter/init.js" type="text/javascript"></SCRIPT>
 
<SCRIPT src="../../pub/js/jquery.tools.min.js" type="text/javascript"></SCRIPT>
 <!-- make all links with the 'rel' attribute open overlays --> 
<SCRIPT>
  $(function() {
      $("#apple img[rel]").overlay({effect: 'apple'});
    });
</SCRIPT>
 </DIV></BODY></HTML>
